5.7 批量编辑外部用户(无管理接口用户目录)
基本信息
Path: /api/v2/externalUser/batchUpdate
Method: POST
接口描述:
注意:该接口文档只针对无管理接口的用户目录,即用户目录数据来源为本地的用户目录
- 对于更新接口中的非必须参数,如果不传,不会对该条数据相对应参数进行修改
- 一次最多批量编辑10000个用户
- 部分参数,如关联对象ID,需要通过在控制台手动获取,以Chrome浏览器为例,获取方式为F12打开“开发者工具”,在Network中找到对应对象的查询接口手动获取该对象的ID
- 用户目录ID,userDirectoryId获取方式,用“开发者工具”过滤请求 userDirectory/queryAll,打开控制台“业务管理”->“用户与角色”(原“用户管理”)页面,查看响应体数据获取对应用户目录的ID,也可以通过用户目录查询接口获取ID
- 认证策略ID,authComposeId获取方式,用“开发者工具”过滤请求 authCompose/queryAll,在控制台“业务管理”->“认证管理”->“认证策略”页面中打开您新增用户所属的用户目录,找到所属用户目录的认证策略查询接口,查看响应体数据获取对应的认证策略ID
- 用户策略ID,userPolicyId获取方式,用“开发者工具”过滤请求 userPolicy/queryUserPolicy,进入控制台“业务管理”->“策略管理”->“用户策略”页面,查看响应体数据获取所需策略的ID
- 角色ID获取方式,可通过openAPI的外部用户角色查询接口获取
请求参数
Headers
参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
---|---|---|---|---|
Content-Type | application/json | 必须 |
Body
名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
idList | string[] | 与nameList、externalIdList三选一 | 外部用户ID列表 | idList与nameList、externalIdList只传一个即可,都传时以idList为准 | |
nameList | string[] | 与idList、externalIdList三选一 | 外部用户名字列表 | idList与nameList、externalIdList只传一个即可,都传时以idList为准 | |
externalIdList | string[] | 与idList、nameList三选一 | 外部用户外部ID列表(2.5.10开始支持) | idList与nameList、externalIdList只传一个即可,都传时以idList为准 | |
userDirectoryId | string | 与userDirectoryName二选一 | 所属用户目录ID | userDirectoryId和userDirectoryName只传一个即可,都传时以userDirectoryId为准 | |
userDirectoryName | string | 与userDirectoryId二选一 | 所属用户目录名称 | userDirectoryId和userDirectoryName只传一个即可,都传时以userDirectoryId为准 | |
value | object | 必须 | 修改内容对象 | ||
├─authComposeId | string | 非必须 | 认证策略ID | authComposeId和authComposeName只传一个即可,都传时以authComposeId为准 >=2.2.5:可以传空字符串代表策略为空,不传视为不修改 <2.2.5:不支持传空字符串,不传视为不修改。 |
|
├─authComposeName | string | 非必须 | 认证策略名称 | authComposeId和authComposeName只传一个即可,都传时以authComposeId为准 >=2.2.5:可以传空字符串代表策略为空,不传视为不修改 <2.2.5:不支持传空字符串,不传视为不修改。 |
|
├─userPolicyId | string | 非必须 | 用户策略ID | userPolicyId和userPolicyName只传一个即可,都传时以userPolicyId为准 >=2.2.5:可以传空字符串代表策略为空,不传视为不修改 <2.2.5:不支持传空字符串,不传视为不修改。 |
|
├─userPolicyName | string | 非必须 | 用户策略名称 | userPolicyId和userPolicyName只传一个即可,都传时以userPolicyId为准 >=2.2.5:可以传空字符串代表策略为空,不传视为不修改 <2.2.5:不支持传空字符串,不传视为不修改。 |
|
├─path | string | 非必须 | 所属组织架构 | ||
├─status | number | 非必须 | 启用状态:0禁用,1启用。如要调整该字段值,请在fieldDataSource中将status字段数据来源修改为'local' | ||
├─description | string | 非必须 | 描述。如要调整该字段值,请在fieldDataSource中将description字段数据来源修改为'local' | ||
├─expiredTime | string | 非必须 | '0' | 过期时间,时间戳,13位长度,单位毫秒,'0'表示永不过期。如要调整该字段值,请在fieldDataSource中将expiredTime字段数据来源修改为'local' | |
├─ext | object | 非必须 | 拓展字段 | ||
├─├─fieldDataSource | Object | 非必须 | 认证时用户数据来源,'local'认证时从本地获取该字段,'server'认证时从认证服务器获取该字段 | ||
├─├─├─description | string | 非必须 | 描述数据来源,'local'认证时从本地获取该字段,'server'认证时从认证服务器获取该字段 | ||
├─├─├─expiredTime | string | 非必须 | 过期时间数据来源,'local'认证时从本地获取该字段,'server'认证时从认证服务器获取该字段 | ||
├─├─├─status | string | 非必须 | 启用状态数据来源,'local'认证时从本地获取该字段,'server'认证时从认证服务器获取该字段 | ||
├─inheritGroup | number | 非必须 | 1 | 继承所属组织架构的授权应用:0不继承,1继承 | |
├─roleEditWay | string | 非必须 | 'append' | 角色编辑方式,'reset'重置,'append'追加 | |
├─roleIdList | string[] | 非必须 | 角色ID列表 | roleIdList和roleNameList只传一个即可,都传时以roleIdList为准 | |
├─roleNameList | string[] | 非必须 | 角色名列表 | roleIdList和roleNameList只传一个即可,都传时以roleIdList为准 | |
├─resourceEditWay | string | 非必须 | 'append' | 应用和应用分类编辑方式,'reset'重置,'append'追加 | |
├─resourceGroupIdList | string[] | 非必须 | 应用分类ID列表 | resourceGroupIdList和resourceGroupNameList只传一个即可,都传时以resourceGroupIdList为准 | |
├─resourceGroupNameList | string[] | 非必须 | 应用分类名列表 | >=2.2.10 SP3开始支持(2.2.12除外) resourceGroupIdList和resourceGroupNameList只传一个即可,都传时以resourceGroupIdList为准 |
|
├─resourceIdList | string[] | 非必须 | 应用ID列表 | resourceIdList和resourceNameList只传一个即可,都传时以resourceIdList为准 | |
├─resourceNameList | string[] | 非必须 | 应用名列表 | resourceIdList和resourceNameList只传一个即可,都传时以resourceIdList为准 |
请求示例
{
"userDirectoryName": "自定义用户目录",
"nameList":[
"用户A",
"用户B"
],
"value":{
"expiredTime": 0,
"roleIdEditWay": "append",
"roleIdList": [ "7759f620-5583-11eb-880a-913383f106f2", "6559f620-5583-11eb-880a-913383f106f2"],
"status": 0
}
}
返回数据
名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
code | number | 必须 | 错误码,非0表示错误,具体含义请参考错误码定义 | ||
data | object | 必须 | 返回内容 | ||
msg | string | 必须 | 描述信息 |
返回示例
{
"code":0,
"data":{},
"msg":"请求成功"
}
错误信息
错误提示 | 错误码 |
---|---|
请输入正确的组织架构格式:请以“/”开头,组织架构路径不能有连续“/”,且不能以“/”结尾 | 7201 |
请输入正确的所属组织架构格式:请以“/”开头,组织架构路径不能有连续“/”,且不能以“/”结尾 | 7201 |
角色编辑方式错误,只允许reset重置,append追加 | 7201 |
应用和应用分类编辑方式错误,只允许reset重置,append追加 | 7201 |
参数检查出错 | 10000001 |
所属组织架构路径层级不能超过32级 | 10000001 |
批量编辑操作数量已经超过上限:10000 | 10000000 |
外部认证服务器不存在 | 77200004 |
认证策略不存在 | 77200001 |
认证策略不存在 | 77200004 |
用户策略不存在 | 77200001 |
用户策略不存在 | 77200004 |
角色不存在 | 77200001 |
应用不存在 | 77200001 |
应用分类不存在 | 77200001 |
保存失败,关联的应用不存在或已被删除 | 77200004 |
部分角色数据已经删除,请重新选择 | 77200004 |
角色不存在或已被删除 | 77200004 |
操作失败 | 10000000 |
用户目录不存在 | 77200001 |
用户目录不存在 | 77200004 |
外部用户不存在 | 77200001 |
外部用户不存在 | 37400005 |